הראיון הראשון הוא ראיון טלפוני, שערך כחצי שעה.
הראיון השני הוא ראיון פרונטלי במחלקת התכנה בבנין החברה במגדל העמק.
*מאחר והאתר מגביל את גודל הטקסט ל1000 תווים, אז אפרסם את השאלות בחלקים. זה החלק השני.
שאלות מתוך הראיון
היו שני מראיינים בראיון. תחילה ביקשו שאסביר להם על הפרוייקט שעשיתי ואסרטט על דף את הדיזיין קלאס (OOD). תוך כדי שאלו שאלות על הסרטוט והפרוייקט.
אחר כך נתנו לי דף עם הסבר על Logic Array. בדף היה מתואר שהקלט הוא קובץ XML, שיש מחלקה נתונה שעושה לו פיענוח (Parsing), כאשר בכל שורה שבקובץ יש את שם אחד מהשערים AND, OR, XOR, NOT ומיד אחריו את מספר הכניסות אל השער. כמו כן, יש שני מתודות: Connect, CalOutput. Connect מחברת כניסה של שער אל תוך השער עצמו (אם זה יציאה משער אחר, או ביט בודד של 0 / 1). CalOutput מחשבת את התוצאה של השער.
יש לסרטט דיזיין קלאס של המערכת.
3. שאלה על המכונה:
ישנה דיסקית, המחולקת לריבועים קטנים (בקצה הדיסקית זה לא ריבועים מין הסתם ויש להתעלם מהם), והמכונה עושה 3 פעולות: MOVE, FOCUS, GRAB. כלומר המכונה זזה מריבוע לריבוע (באופן של שורה - שורה), עושה זום על הריבוע ומצלמת תמונה. על כל תמונה שהיא מצלמת יש לבצע חישובים, נקרא להם CALC. השאלה היתה איך ניתן לעבור על הדיסקית ולנתח את כולה בצורה היעילה והמהירה ביותר.
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2017
תשובה לשאלה על המכונה:
את הפעולות הפיזיות לא ניתן לחלק לעבודה במקביל כי יש רק זרוע אחת עם מצלמה, לכן שלושת הפעולות של המכונה יעשו בפונקציה הראשית (Main thread). מה שכן, אפשר לחלק את הניתוכים (חישובים) על כל תמונה: כל תמונה תשלח לתהליכון (thread) חדש, שיבצע עליה את החישובים הנדרשים - CALC. בנוסף ירוץ תהליכון אשר יאתר תהליכונים שסיימו את עבודתם, ויצוות אותם לתמונות חדשות המגיעות מהזרוע - זה כדי לטפל במקרה שתגמר המכסה של התהליכונים (בד"כ זה 32,072 במערכת של 64 ביט).
הראיון הראשון הוא ראיון טלפוני, שערך כחצי שעה.
הראיון השני הוא ראיון פרונטלי במחלקת התכנה בבנין החברה במגדל העמק.
*מאחר והאתר מגביל את גודל הטקסט ל1000 תווים, אז אפרסם את השאלות בחלקים. זה החלק הראשון.
שאלות מתוך הראיון
ראיון טלפוני:
1. מה ההבדל בין הכרזה של private, protected, public?
2. מה זה מחלקה אבסטרקטית?
3. איך מממשים מתודה אבסטרקטית ב++C?
4. מה זה מתודה וירטואלית?
5. למה צריך להגדיר את הdestructor כוירטואלי ב++C?
6. מה זה מחלקה סטטית?
7. מה זה Singleton Pattern?
8. מה ההבדל בין מחלקה סטטית ל-Singleton Pattern?
9. איך מממשים Singleton?
10. איך אפשר להגן מSingleton מפני פנייה של הרבה threads?
11. מה זה mutex?
12. מה זה deadlock?
13. מה ההבדל בין תהליך לתהליכון (thread vs. process)? לציין גם את ההבדל בזיכרון.
14. יש מערך דו מיימדי(i - שורות, ח - עמודות) באיזו דרך כדאי לעבור על המערך?
15. מה ההבדל בין אפליקציה של 32 ביט לבין אפליקציה של 64 ביט מבחינת זיכרון?
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2017
תשובות חלקיות לראיון טלפוני לפי מספר שאלה:
5. אם הדיסטרקטור לא יוגדר כוירטואלי, תהיה שגיאה של undefined behavior, כי מחיקת האובייקט תהיה סטטית, למרות שהיא צריכה להיות דינמית.
13. process (תהליך)
הוא יחידת הרצה והקצאה, כלומר מערכת ההפעלה מקצה מרחב זכרון. ברמת הprocess כל יחידה כזו היא עצמאית ויצירת קשר בין תהליכים היא יחסית יקרה.
thread (תהליכון)
כל התהליכונים באותו תהליך חולקים בינהם את המשאבים - מה שמאפשר קישוריות בצורה פשוטה אבל גם יוצר אתגרים בסנכרון.
14.
קודם for i ואז for j כי הזיכרון כתוב בשורות ב-cache, וכך יהיו יותר cache hits.
15. מערכות הפעלה בתצורה של 32 סיביות יכולות לגשת לזיכרון פיזי (RAM) של עד 4GB.
במערכות בתצורה של 64 סיביות לעומת זאת, ניתן לבצע שימוש עד 8GB או אפילו 16GB בגרסת Home, אבל בגירסאות Professional and Ultimate אפשר להשתמש עד 192GB של זיכרון RAM.
ראיון העבודה נעשה מול ראש צוות תוכנה ומהנדס בכיר.
הראיון ארך כשעה.
שאלות מתוך הראיון
מה זאת מחלקה אבסטרקטית?
תשובות
הוסף תשובה
|
לצפיה בתשובות
ינואר 2017
מחלקה אבסטרקטית זאת מחלקה שיש בה פונקציות וירטואליות טהורות, ולכן אי אפשר ליצור עצמים מהסוג שלה. הפונקציות הווירטואליות של מחלקה כזאת מגדירות ממשק גנרי, אשר מחלקות שנגזרות יורשות ממנה צריכות לממש
חידות עם 2 בקבוקי מים של 5 ו3 ליטר ליצור בקבוק של 4
תשובות
הוסף תשובה
|
לצפיה בתשובות
דצמבר 2016
הופכים את 2 הבקבוקים אנכית עד שנשאר חצי מהם בדיוק, ולאחר מכן שופכים את מה שנשאר ב 3 ליטר לבקבוק של ה 5 ליטר .
פברואר 2018
ממלאים את החמש שופכים לשלוש נשאר בחמש שתים, שופכים את השלוש ממלאים את השתיים שנשארו בחמש לשלוש ממלאים שוב את החמש ממלאים ליטר בשלוש ( שמלא רק ב 2) ואז נשאר בחמש 4 ליטר
אוגוסט 2020
אני חושב שכך: שופכים חצי מהתכולה של הבקבוק של החמישה ליטרים וכך נשארו 2.5 ליטר מים. שופכים חצי מהתכולה של השלושה ליטרים וכך נישארים 1.5 ליטר מים. שופכים את ה1.5 ליטר לבקבוק עם ה2.5 ליטר וכך יש לנו 4 ליטר מים בבקבוק אחד :)
התהליך מורכב מארבע ראיונות, הראשון ראיון אישי,השני ראיון מעשי, השלישי ראיון אישי, הרביעי ראיון עם משאבי אינוש
שאלות מתוך הראיון
בראיון האישי שואלים לספר על עצמך, על הפרויקטים שנעשו במסגרת הלימודים בדגש על הפרויקט הסופי. גם כן שואלים על המיומנות שנרכשו בלימודים, על ההתעניינות וההתאמה לתפקיד ולחברה.
שואלים קצת על אופטיקה (עדשות, מראות, איך עובד התלסקוף).
בראיון המעשי נותנים שרטוטי הרכבה עם החלקים וצריך להרכיב את הדגם.